Creating and Modifying Forecasts
Forecasts allows users to easily create and modify forecasts to assist with production and sales management. In DEACOM, sales forecasts are used to drive the MRP process. Active forecast sheets setup demand in the "(-M) forecast" demand bucket in time-phased MRP. Forecasts can be leveraged to:
- Create sales forecasts based on historical sales of items in DEACOM.
- Update existing sales forecasts by utilizing the percentage change tool and the pre-filter capabilities.
- Compare forecast sheets to actual sales.
Configuration
The configuration steps necessary are covered in the Process section below.
Process
Forecasts can be setup based on historical sales or manually by a user. Parts included on these forecasts can be grouped together by product category, sales rep, Facility, etc., depending on company operations. Prior to creating a Forecast, it is important to understand the various options and impacts they have in DEACOM. These options are described below, followed by information on how to manage Forecasts.
Understanding MRP Bucket Types and demand impact
The Edit Forecast form contains an "MRP Bucket Type" field which determines how the Forecast will be applied to MRP reports. These options, explained by the "MRP Bucket Type" field description on the Forecasts page, are Days, Weeks, and Months. Forecasts may be created for short-term demand or long-term, depending on the product/customers. While this bucket size may vary, the maximum number of buckets allowed in DEACOM is 60.
As far as demand impact, Forecasts are generally created prior to real Sales Orders. it is important to note that Purchase Orders may also be created and linked to a specific Sales Order. In the event that both Forecasts and Purchase Orders exist for a given sale, MRP will take the net of Forecasts and ordered Parts. For example, if a Forecast exists for 100 units and a Purchase Order exists for 40 units, MRP will calculate a net of 60 units, indicating that that amount must be purchased or produced to meet current demand.
Using historical and seasonal forecasts
Companies will often use historical sales information for the basis of future sales forecasts. The “Create Forecast” button on the following sales order reports is used to create historical forecasts.
- Sales order detail
- Sales User detail 1-5
- Sales User summary 1-5
When using this option, the system displays the items and item quantities shipped on sales orders to allow the user to create a new forecast sheet.
- Note: Inter-Company Transfers are not included in historical sales since they are not invoiced. The steps necessary to create a historical forecast are indicated in the Creating the Forecast section below.
Once historical forecasts are created, the "Forecast vs Actual" report type, via Sales > Forecasts, can be used to compare a sales forecast to historical sales, and therefore analyze the actual sales performance based on a selected forecast sheet.
Many industries experience seasonal demand based on a variety of factors. Generally speaking, seasonal demand has a pattern that repeats. For example, demand for clothing has a seasonal pattern that repeats every 12 months. There could also be seasonality on a smaller time scale, such as per week. Once a forecast has been created, users may use the "Same As" button, described below, to create a copy that can then be modified and saved to represent seasonal changes on individual items or groups of items. The "% Increase" button, also described below, allows users to quickly establish quantity adjustments based on seasonal changes.
Utilizing the "Same As" and "% Increase" functionalities
The "Same As" button on the Edit Forecast form allows an existing forecast sheet to be copied into a new Forecast sheet. This functionality can be very useful because DEACOM does not store historical copies of forecast sheets (to minimize database storage space). Prior to making an update to an original Forecast sheet, a copy of that forecast sheet can be made so that the original can be compared to actual sales at any point during the year. To create a new forecast sheet follow the steps below:
- In the Forecasts pre-filter, set the "Forecast Source" field to Manual and then click the "View" button.
- In the Edit Forecast form, click the "Same As" button and select the original forecast sheet which will be copied.
- On the subsequent Edit Forecast form, enter an appropriate name for the forecast sheet then click the "Save" button.
The "% Increase" button, also on the Edit Forecast form, can be used to apply an increase to one or all periods of the selected forecast. The percent increase is applied to only the portion of the sales forecast shown in the grid. Thus, if results are filtered through the pre-filter, the percent increase is only applied to the filtered results and the items left off the filtered forecast sheet are not updated. A couple items of note regarding percent increases:
- This option also allows a user to specify a negative factor, which will decrease the results by the value entered.
- All increases/decreases applied are stacked. So, if an increase is applied to one month then another increase is applied to all buckets, that one month chosen will get increased twice.
Using Time-Phased vs Instant MRP reports
Active forecast sheets and active Forecast Sales Orders Types setup demand in the "(-M) forecast" demand bucket in time-phased MRP. The differences in how MRP displays data in Time-Phased vs Instant MRP is discussed on the "MRP" page.
Once MRP reports are displayed users can drill into the "(-M) forecast" line or column to see the name of the Forecast or order number of the Forecast Sales Order. From here, the "View Detail" button can be used to drill into the Forecast or Forecast Sales Orders themselves. When drilling into the Forecast line of column, the system will filter the drill-down screen to only show the forecast buckets that are applicable to the amount and date range shown in MRP.
Creating the Forecast
Typically, organizations will create a forecast sheet using historical sales. To do so, perform the following:
- Navigate to Sales > Order Reporting.
- On the pre-filter select a report type of Order Detail (or Sales User Detail 1-5 or Sales User Summary 1-5) and an appropriate start date.
- Fill in the rest of the pre-filter with the appropriate criteria.
- Click the “View” button to generate the report.
- On the report click the “Create Forecast” button to display the Create Forecast form.
- The "Forecast Start" date will be defaulted based on the start date selected on the Sales > Order Reporting pre-filter. It can be changed here if necessary.
- Select appropriate values for the “Bucket Type” and “Number of Buckets” fields. These fields determine the bucket period and length of the forecast sheet. See the Forecasts page for field descriptions.
- The user can also optionally select to group the forecast lines according to Bill-To, Ship-To, or Facility with the respective checkboxes.
- Once complete, click the “Continue” button to display the Edit Forecast form.
- Add new or modify existing lines based on the forecast purpose. A new part can be added to an existing forecast sheet by using the "Add" button on the Edit Forecast form and an existing line can be modified by using the "Modify" button. Both display the same Edit Forecast Line form, which allows a user to manually create/update the forecast line.
- On the Edit Forecast Line form, the scaling tools (selected using the "Change Type" pick list) may be used to update the selected Forecast line.
- In addition, items can be assigned to a Customer by selecting the appropriate record(s) in the corresponding fields. When calculating forecast sums for a part in MRP, the system will also sum the forecast lines assigned to a specific Bill-to or Ship-to.
- Users can enter multiple entries for the same part on the same forecast, as long as the Bill-to, Ship-to, and/or Facilities on the entries are different.
- Once all selections have been made on the Edit Forecast Line form, click "Save".
- Click "Next" to add more forecast lines or "Exit" to return to the Edit Forecast form.
- Review the overall forecast and ensure it is accurate, then click "Save" to complete the process.
Note: In DEACOM, forecast quantities are represented in the item's stock unit of measure.
Creating Forecasts Using Moving Average and Weighted Moving Average
Entering Moving Average Forecasts
- Navigate Sales > Order Reporting and select a Report Type of order detail or a Sales User Detail 1-5 report.
- Click the "Create Forecast" button to display the Create Forecast form.
- Select "Moving Average" Forecast Method.
- Fill out all the necessary fields on this form.
- Press the "Continue" button to display the "Edit Forecast" form. The grid is populated with the appropriate values. Additional details on how the form is populated can be found on the Create Forecasts page.
- Modify or verify the information as necessary and save the Forecast when complete. Note that users may use the "Apply Smoothing" button if desired. In this case, the "Create Forecast" form will appear with the historical data start date already filled in. At this point, users can select “Weighted moving average” in forecast method and fill in the rest of the required fields. Once the "Continue" button is pressed, the forecast will be updated with the newly calculated weighted moving average values.
Entering Weighted Moving Average Forecasts
- Navigate Sales > Order Reporting and select a Report Type of order detail or a Sales User Detail 1-5 report.
- Click the "Create Forecast" button to display the Create Forecast form.
- Select "Weighted Moving Average" Forecast Method.
- Fill out all the fields on this form. Note that the number of periods indicated must not be prior to the Historical Start Date otherwise the user will be prompted with "The number of periods considered can’t use buckets prior to the historical start date. Update the number of periods, or dates to continue."
- Press the "Continue" button to display the "Enter Bucket Weights" form.
- The system will display with the option to enter values for the bucket weights based on the forecast start and the periods considered. Enter the appropriate weights. Note that weights must add up to 100%.
- Press the "Continue" button to display the "Edit Forecast" form. The grid is populated with values calculated using a weighted moving average for each bucket based on the weights entered.
- Modify or verify the information as necessary and save the Forecast when complete. Note that users may use the "Apply Smoothing" button if desired. In this case, the "Create Forecast" form will appear with the historical data start date already filled in. At this point, users can verify or modify information in the appropriate fields. Once the "Continue" button is pressed, the forecast will be updated with the newly calculated values.
Entering Moving and Weighted Moving Average Forecasts for Seasonal Items
- Navigate Sales > Order Reporting and select a Report Type of order detail or a Sales User Detail 1-5 report.
- Click the "Create Forecast" button to display the Create Forecast form.
- Select ""Moving Average" or Weighted Moving Average" Forecast Method.
- Fill out all the fields as required. To generate a new forecast form past data you would fill out the Create Forecast form similar to this example below:
- Forecast Method: Moving Average
- Forecast Start Date: 01/01/2024
- Historical Data Start: 01/01/2023
- Bucket Type: Months
- Number of Buckets: 3
- Periods Considered: 3
- Press the "Continue" button to display the "Edit Forecast" form. The grid is populated with the appropriate values.
- Modify or verify the information as necessary and save the Forecast when complete. Note that users may use the "Apply Smoothing" button if desired. In this case, the "Create Forecast" form will appear with the historical data start date already filled in. At this point, users can verify or modify information in the appropriate fields. Once the "Continue" button is pressed, the forecast will be updated with the newly calculated values.
Creating Forecasts Using Linear Regression
- Navigate Sales > Order Reporting and select a Report Type of order detail or a Sales User Detail 1-5 report.
- Click the "Create Forecast" button to display the Create Forecast form.
- Select "Linear Regression" Forecast Method.
- Fill out all the necessary fields on this form. Note that the number of periods indicated must not be prior to the Historical Start Date otherwise the user will be prompted with "The number of periods considered can’t use buckets prior to the historical start date. Update the number of periods, or dates to continue." Also, Linear Regression requires at least 3 buckets of historical data prior to the forecast start.
- Press the "Continue" button to display the "Edit Forecast" form. The grid is populated with the appropriate values. Additional details on how the form is populated can be found on the Create Forecasts page.
- Modify or verify the information as necessary and save the Forecast when complete. Note that users may use the "Apply Smoothing" button if desired. In this case, the "Create Forecast" form will appear with the historical data start date already filled in. At this point, users can verify or modify information in the appropriate fields. Once the "Continue" button is pressed, the forecast will be updated with the newly calculated values.
Linear Regression Forecast Example
|
Title |
time(x) |
Sales(y) f2_origquant |
xy |
x^2 |
Forecast-f2_quant |
---|---|---|---|---|---|---|
Historical Start | ||||||
Bucket | 1 | 600 | 600 | 1 | 0 | |
Bucket | 2 | 1550 | 3100 | 4 | 0 | |
Bucket | 3 | 1500 | 4500 | 9 | 0 | |
Bucket | 4 | 1500 | 6000 | 16 | 0 | |
Bucket | 5 | 2400 | 12000 | 25 | 0 | |
Bucket | 6 | 3100 | 18600 | 36 | 0 | |
Bucket | 7 | 2600 | 18200 | 49 | 0 | |
Bucket | 8 | 2950 | 23200 | 64 | 0 | |
Bucket | 9 | 3800 | 34200 | 81 | 0 | |
Bucket | 10 | 4500 | 45000 | 100 | 0 | |
Bucket | 11 | 4000 | 44000 | 121 | 0 | |
Bucket | 12 | 4900 | 58800 | 144 | 0 | |
Sum | 78 | 33350 | 268200 | 650 | ||
Avg | 6.5 | 2779.17 | ||||
Forecast Start | ||||||
Bucket | 13 | 0 | 5116.57 | |||
Bucket | 14 | 0 | 5476.17 | |||
Bucket | 15 | 0 | 5835.77 | |||
Bucket | 16 | 0 | 6195.37 |
Based on the above data, you can see that the forecast starts on bucket# 13, with historical buckets being 1-12.
- Time (x) represents the bucket numbers, and y is the forecast quantities in f2_origquant (historical sales)
- The equation used to generate the new forecast quantity will be y = a + b(x)
- b = (268200 - 12 × 6.5 × 2779.17)/ (650 – 12 × [6.5]^2 ) b = 359.6
- 268200 = bucket# X quantity sold
- 12 = total buckets
- 6.5 = total buckets summed (78) / how many buckets
- 2779.17 = average quantity sold
- 650 = bucket number squared
- a = 2779.17 - 359.6 × 6.5 a = 441.77
- bucket 13 = 441.77 + 359.6 × 13 = 5116.57
- bucket 14 = 441.77 + 359.6 × 14 = 5476.17
- bucket 15 = 441.77 + 359.6 × 15 = 5835.77
- bucket 16 = 441.77 + 359.6 × 16 = 6195.37
Creating Forecasts Using Simple, Double, or Triple Exponential Smoothing
- Navigate to Sales > Order Reporting and select a Report Type of order detail or a Sales User Detail 1-5 report. (Note: Simple, Double, and Triple Exponential Smoothing forecasts may also be created via the "Apply Smoothing" button when modifying an existing Forecast)
- Click the "Create Forecast" button to display the Create Forecast form.
- Select either "Simple Exponential Smoothing", "Double Exponential Smoothing", or "Triple Exponential Smoothing" in the Forecast Method.
- Fill out all the necessary fields on this form. Note that at least 2 full periods of historical data are required to generate a forecast using exponential smoothing.
- Press the "Continue" button to display the "Forecast Weight" form in order to enter smoothing constants.
- Fill in the appropriate value for the Alpha, Beta, and Gamma fields and choose either a Multiplicative (default) and Additive
- Click "Continue" to apply the changes.
- Modify or verify the information as necessary and save the Forecast when complete.
Simple Exponential Smoothing Example
Sales order detail data shipped from 10/01/2020 - 02/01/20201. Example using a single part to simplify. Forecast Created on 02/01/2020, and some orders had shipped on the first. Therefore, we have an f2_origquant in February, but it will not be considered.
- Historical Start - 10/01/2020
- Forecast Start - 02/01/2021
- Forecast Bucket - Months
- Number of Buckets – 3 (This means we will have 3 buckets from 02/01/2021 forward)
- Smoothing Constant (alpha) - 0.5
We must first calculate forecasts for all buckets from the historical start date, to then generate new forecasts into the f2_quant field for buckets after the forecast start date.
Formula:
F = Forecast
α = Smoothing Constant
x = Actual Sales
t = bucket (time)
The forecast for the 1st period is assumed to be the actual, since we don't have a forecast quantity calculated. Simple exponential smoothing will result in the same forecast value for all buckets after the forecast start date.
Lastly calculate the mean absolute percent error (MAPE) for each forecast line, and pop
M = mean absolute percent error
n = number of times the summation iteration happens
A(t) = actual value
F(t) = forecast value
Bucket |
Month |
f2_origquant |
f2_quant |
Calculation |
Error |
---|---|---|---|---|---|
1 | Oct | 20 | 20 – Set equal to actual | ||
2 | Nov | 27 | 20 + 0.5(20-20) = 20 | 35 | |
3 | Dec | 33 | 20 + 0.5(27 -20) = 23.5 | 28.78 | |
4 | Jan | 45 | 23.5 + 0.5(33 – 23.5) = 28.25 | 37.22 | |
5 | Feb | 6 | 36.63 | 28.25 + 0.5(45-28.25) = 36.625 | |
6 | March | 0 | 36.63 | N/A | |
7 | April | 0 | 36.63 | N/A | |
MAPE = 33.67 |
Double Exponential Smoothing Example
- Forecast Created on 02/01/2020
- Historical Start – 04/01/2020
- Forecast Start - 02/01/2021
- Forecast Bucket - Months
- Number of Buckets – 5 (This means we will have 3=5 buckets from 02/01/2021 with an f2_quant)
- Smoothing Constant (alpha) - 0.7
- Trend Smoothing Constant(beta) – 0.6
Formula:
Y = Forecast
L = Level
T = Trend
h = forecast horizon (used in future buckets)
t = bucket number
α = Level Smoothing Constant
β = Trend Smoothing Constant
First calculate forecasts for all buckets from the historical start date, to then generate new forecasts into the f2_quant field for future buckets. We will need at least 2 historical buckets to calculate a forecast.
We will need to unitize values for level and trend. To simplify this
- Set level of bucket 2 = sales in bucket 2
- Set trend of bucket 2 = Bucket 2 Sales – Bucket 1 Sales
Establishing the trend this way requires 2 previous buckets of historical data, which is why we require them. Now that we have established a level and trend in bucket 2, we can create our first forecast for bucket 3. Use the standard forecast formula.
The normal trend and level equations can now be used to calculate trend and level for all buckets containing historical data.
When projecting the forecast beyond 1st forecast bucket, we will continue to use the last values for trend and level. The horizon(h) will increment up by 1 for each bucket. In this example 1-5 is used for the 5 forecast buckets. June 2021 formula = 22.76 + (5) * 2.62 = 38.56
Lastly calculate the MAPE for each forecast line and populate into f2_stderror.
Bucket |
Month |
F2_origquant |
F2_quant |
Level |
Trend |
Forecast |
Error |
---|---|---|---|---|---|---|---|
1 | April
2020 |
6.4 | 0 | N/A | N/A | N/A | |
2 | May
2020 |
5.6 | 0 | 5.6
Set = Actual |
-0.8 =5.6-6.4 |
N/A | |
3 | June
2020 |
7.8 | 0 | 6.9 | 0.46 | 4.8
=5.6 + -0.8 |
38.46 |
4 | July
2020 |
8.8 | 0 | 8.37 | 1.06 | 7.36
= 6.9 + 0.46 |
18.46 |
5 | August
2020 |
11 | 0 | 10.53 | 1.72 | 9.43 | 14.27 |
6 | September
2020 |
11.6 | 0 | 11.8 | 1.45 | 12.25 | 5.60 |
7 | October
2020 |
16.7 | 0 | 15.66 | 2.9 | 13.24 | 20.72 |
8 | November
2020 |
15.3 | 0 | 16.28 | 1.53 | 18.56 | 21.31 |
9 | December
2020 |
21.6 | 0 | 20.46 | 3.12 | 17.81 | 17.55 |
10 | January
2021 |
22.4 | 0 | 22.76 | 2.62 | 23.58 | 5.26 |
11 | February
2021 |
4 | 25.38 | h = 1 | 25.38 | ||
12 | March
2021 |
0 | 28.00 | h = 2 | 28.00 = 22.76+(2*2.62) | ||
13 | April
2021 |
0 | 30.63 | h = 3 | 30.63 | ||
14 | May
2021 |
0 | 33.25 | h = 4 | 33.25 | ||
15 | June
2021 |
0 | 35.88 | h = 5 | 35.88 | ||
17.70
= Avg all errors for MAPE = |
Triple Exponential Smoothing Example
- Forecast Created on 02/01/2020
- Historical Start – 01/01/2018
- Forecast Start – 01/01/2018
- Forecast Bucket – Months
- Number of Buckets – 12 (can be less than a period)
- Buckets In A Period - 12
- Smoothing Constant (alpha) - 0.2
- Trend Smoothing Constant(beta) – 0.2
- Seasonality Smoothing Const(gamma) – 0.2
- Formula Type – Multiplicative
Triple Exponential can be done using a multiplicative or additive formula. Use the formula selected by the user when they generate the forecast or apply smoothing.
Multiplicative Formula:
m = Seasonal period. In a monthly forecast m = 12, weekly m = 52, daily m = 365.
Additive Formula:
FAQ & Diagnostic Tips
If a Forecast is created via the Order Entry function, can it be modified via Forecasts and vice versa?
No, because the Forecast Sales Order does not have a name and the Forecast does not have a Sales Order number. A Forecast must have a name in order to view/modify it in Forecasts or an order number to view/modify it in Sales > Order Reporting
Can sales forecasts be displayed in Financial Statements?
Yes,